#include <iostream>
#include <bits/ostream.tcc>
//
// Created by Asus on 2025/6/1.
//
using namespace std;

int myAdd(int a, int b) {
    return a + b;
}
template<class T>
T myAdd2(T a, T b) {
    return a + b;
}

//使用函数模板时，如果用自动类型推导，不会发生自动类型转换,即隐式类型转换
void demo01() {
    int a = 10;
    int b = 20;
    char c = 'a';
    cout << myAdd(a, c) << endl;  //正确，将char类型的'c'隐式转换为int类型  'c' 对应 ASCII码 99
    //myAdd2(a, c); // 报错，使用自动类型推导时，不会发生隐式类型转换
    myAdd2<int>(a, c); //正确，如果用显示指定类型，可以发生隐式类型转换
}

int main(int argc, char *argv[]) {
    demo01();
    return 0;
}
